﻿namespace GeometryLib
{

    public struct Point3D
    {
        public double X { get; set; }
        public double Y { get; set; }
        public double Z { get; set; }

        public Point3D(double x, double y, double z)
        {
            X = x;
            Y = y;
            Z = z;
        }
        public Point3D(float x, float y, float z)
        {
            X = x;
            Y = y;
            Z = z;
        }

        public override string ToString()
        {
            return $"X={X},Y={Y},Z={Z}";
        }
    }

    //public struct Line3D
    //{
    //    public Point3D Point1 { get; } = default(Point3D);
    //    public Point3D Point2 { get; } = default(Point3D);

    //    public Line3D(double x1, double y1,double z1,
    //        double x2, double y2, double z2)
    //    {
    //        Point1 = new Point3D(x1,y1,z1);
    //        Point2 = new Point3D(x2,y2,z2);
    //        //DirVector = new (x2-x1,y2-y1,z2-z1);    
    //    }

    //    public Line3D(Point3D p1, Point3D p2)
    //    {
    //        (Point1, Point2) = (p1, p2);
    //        //DirVector = new(p2.X - p1.X,p2.Y - p1.Y,p2.Z - p1.Z );
    //    }

    //    //public Vector3D DirVector { get;private set; } = default;

    //    //public Line3D(Point3D point,Vector3D dirVector)
    //    //{
    //    //    Point1 = point;
    //    //    Point2 = new (point.X + dirVector.X,point.Y + dirVector.Y ,point.Z + dirVector.Z);
    //    //    DirVector = dirVector;
    //    //}
    //}



}
